/**
 * 权限校验
 * Vue Router中的 前置钩子函数 beforeEach(to,from,next)
 * 当前路由跳转之前，进行判断 是否已经登陆过，登陆过则允许访问，否则回到登陆页面
 * to 即将要进入的目标对象
 * from 即将要离开的路由对象
 * next 是一个方法，可以指定路由地址进行路由跳转
 */
import router from "./router/index"
import {info} from "./api/login"
import store from "./store/index"
router.beforeEach((to,from,next)=>{
    //1.获取token
    // const token = window.localStorage.getItem("ardai-msm-token");
    const token = store.state.user.token;
    console.log(token);
    if(!token){
        //1.1如果没有获取到token
        //要访问非登陆页面就不让访问并跳转到登陆页面，访问登陆页面就让它直接跳转到登陆页面
        if(to.path !== "/login"){
            next({ path:"/login" });
        }else{
            // /login
            next();
        }
    }else{
        //1.2获取到了token
        if(to.path === "/login"){
            //获取到token还想去登陆就直接放行
            next();
        }else{
            //1.2.1 有token但是不知道有没有用户信息
            const userInfo = window.localStorage.getItem("ardai-msm-user");
            if(userInfo){
                //有用户信息直接放行路由
                next();
            }else{
                //没有用户信息先获取用户信息再放行路由
                
                // info(token).then(res=>{
                //     const result = res.data;
                //     if(result.flag){
                //         //获取用户信息成功进行放行
                //         window.localStorage.setItem("ardai-msm-user",JSON.stringify(result.data) );
                //         next();
                //     }else{
                //         //获取用户信息失败跳转到登陆页面(可能是token过期)
                //         next({ path:"/login" });
                //     }
                // })
            }
        }
    }
})